/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package model;

import java.util.ArrayList;
import java.util.List;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import org.hibernate.annotations.Cascade;
import org.hibernate.annotations.CascadeType;

/**
 *
 * @author Matthy & Jelle
 */
@Entity
@Table(name="T_FILM")
public class Film {
  @Id @GeneratedValue(strategy= GenerationType.IDENTITY)
  private Integer id;
  @ManyToOne(optional=false, cascade= javax.persistence.CascadeType.PERSIST)
  @Cascade(CascadeType.SAVE_UPDATE)
  @JoinColumn(name="filmmaatschappij_id")
  private FilmMaatschappij filmMaatschappij;
  @OneToMany(mappedBy="film")
  private List<Functie> functies;
  private String titel;
  private String genre;
  private String korteInhoud;
  private Integer speelDuur;
  private Boolean kinderenToegelaten;
  private String land;

  public Film() {
    this.functies = new ArrayList<Functie>();
  }

  public Integer getId() {
    return id;
  }

  public FilmMaatschappij getFilmMaatschappij() {
    return filmMaatschappij;
  }

  public String getTitel() {
    return titel;
  }

  public String getGenre() {
    return genre;
  }

  public String getKorteInhoud() {
    return korteInhoud;
  }

  public Integer getSpeelDuur() {
    return speelDuur;
  }

  public Boolean getKinderenToegelaten() {
    return kinderenToegelaten;
  }

  public String getLand() {
    return land;
  }

  public List<Functie> getFuncties() {
    return functies;
  }

  public void setId(Integer id) {
    this.id = id;
  }

  public void setFilmMaatschappij(FilmMaatschappij filmMaatschappij) {
    this.filmMaatschappij = filmMaatschappij;
  }

  public void setTitel(String titel) {
    this.titel = titel;
  }

  public void setGenre(String genre) {
    this.genre = genre;
  }

  public void setKorteInhoud(String korteInhoud) {
    this.korteInhoud = korteInhoud;
  }

  public void setSpeelDuur(Integer speelDuur) {
    this.speelDuur = speelDuur;
  }

  public void setKinderenToegelaten(Boolean kinderenToegelaten) {
    this.kinderenToegelaten = kinderenToegelaten;
  }

  public void setLand(String land) {
    this.land = land;
  }

  public void setFuncties(List<Functie> functies) {
    this.functies = functies;
  }


}
